很多人还不知道,推特其实有个键盘快捷键
但我不是很喜欢💔
比如说你正在刷帖,不小心按到了“x”,恭喜你,你关注的人不小心被你屏蔽了

还有一种情况是,我在推特电脑端打字,然后文字突然多出来重复一段改变位置
我怀疑也是推特快捷键的问题
所以我写了一段油猴脚本把它禁用了
// ==UserScript==
// @name Twitter/X Shortcut Killer (Enhanced)
// @namespace http://tampermonkey.net/
// @version 2.0
// @description 彻底禁用 Twitter/X 的键盘快捷键,但允许打字
// @author You
// @match https://twitter.com/*
// @match https://x.com/*
// @run-at document-start
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 定义需要拦截的事件类型
const events = ['keydown', 'keypress', 'keyup'];
// 判断是否正在输入文字
function isTyping(element) {if (!element) return false;
const tagName = element.tagName;
const isEditable = element.isContentEditable || element.getAttribute('contenteditable') === 'true';
// 检查是不是输入框、文本域,或者推特特有的富文本编辑器
return tagName === 'INPUT' || tagName === 'TEXTAREA' || isEditable;
}
// 主处理函数
function handler(e) {
// 如果正在打字,放行
if (isTyping(e.target)) {return;}
// 允许一些基础的系统级组合键(比如 Ctrl+C, Ctrl+R 刷新, F5, F12 等)if (e.ctrlKey || e.altKey || e.metaKey || e.key.startsWith('F')) {return;}
// 允许方向键和翻页键(如果你想保留空格翻页,把 ' ' 加入排除列表)// 推特的 j/k 是快捷键,上下箭头是原生滚动。通常我们只想屏蔽字母键。const allowedKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'];
if (allowedKeys.includes(e.key)) {return;}
// 核心逻辑:阻止推特听到这个按键
e.stopImmediatePropagation();
// 可选:如果你发现按键虽然不触发快捷键了,但会导致奇怪的滚动,可以取消注释下面这行
// e.preventDefault();
// 调试用:如果你想看控制台拦截了什么键,可以取消注释下面这行
// console.log('Blocked Twitter Shortcut:', e.key);
}
// 在捕获阶段(true)注册监听器,确保比推特先拿到控制权
events.forEach(type => {window.addEventListener(type, handler, true);
});
console.log('Twitter Shortcut Killer loaded.');
})();
🤝 创作不易,感谢支持
您的支持是我持续输出的动力
加密资产波动大 • 能力要求高 • 请自行判断
正文完